今天要介紹的 await
與 async
同樣是用來處理 JavaScript 中的非同步操作。
await
與 async
?這兩者就是簡化過後的 Promise
,使用上的差別如下:
await
:等待函式完成(等待一個 Promise
完成並回傳)async
:定義非同步操作async function fetchData() {
return new Promise(function(resolve, reject) {
setTimeout(function() {
const success = true;
if(success) {
resolve('Data fetched!');
}
else {
reject('Error fetching data');
}
});
});
}
async function getData() {
try {
const result = await fetchData();
console.log(result);
}
catch(error) {
console.error(error);
}
}
getData();
當 success
為 true
的輸出結果:
Data fetched!
當 success
為 false
的輸出結果:
Error fetching data.